package com.ruoyi.art.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品表对象 artGood
 * 
 * @author hxm
 * @date 2025-06-09
 */
public class ArtGood extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private GoodSort goodSort; // 关联商品类型对象


    /** 商品id */
    private Long goodId;

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String goodPicture;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodName;

    /** 商品分类 */
    @Excel(name = "商品分类")
    private String goodClassify;

    /** 商品描述 */
    @Excel(name = "商品描述")
    private String goodDesc;

    /** 商品类型 */
    @Excel(name = "商品类型")
    private Long gsortId;

    /** 商品原价 */
    @Excel(name = "商品原价")
    private BigDecimal goodOriginalPrice;

    /** 商品会员（团购）价 */
    @Excel(name = "商品会员", readConverterExp = "团=购")
    private BigDecimal goodMemberPrice;

    /** 商品积分 */
    @Excel(name = "商品积分")
    private String goodIntegral;

    /** 佣金比例 */
    @Excel(name = "佣金比例")
    private String goodCommissionRate;

    /** 库存 */
    @Excel(name = "库存")
    private String goodStock;

    /** 状态（0-上架  1-下架） */
    @Excel(name = "状态", readConverterExp = "0=-上架,1=-下架")
    private Long goodStatus;

//    /** 创建时间 */
//    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
//    private Date goodCreateTime;
//
//    /** 更新时间 */
//    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
//    private Date goodUpdateTime;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private String goodCreateTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private String goodUpdateTime;

    /** 备用字段1 */
    @Excel(name = "备用字段1")
    private String demo1;

    /** 备用字段2 */
    @Excel(name = "备用字段2")
    private String demo2;

    /** 备用字段3 */
    @Excel(name = "备用字段3")
    private String demo3;

    /** 校区id */
    @Excel(name = "校区id")
    private Long campusId;

    /** 是否分销（0-不分销  1-分销） */
    @Excel(name = "是否分销", readConverterExp = "0=-不分销,1=-分销")
    private Long isDistribution;

    /** 订单id */
    @Excel(name = "订单id")
    private Long orderId;

    /** 商品排序号 */
    @Excel(name = "商品排序号")
    private Long goodOrder;

    /** 商品类型 */
    @Excel(name = "商品类型")
    private String gsortName;

    public void setGoodId(Long goodId) 
    {
        this.goodId = goodId;
    }

    public Long getGoodId() 
    {
        return goodId;
    }

    public void setGoodPicture(String goodPicture) 
    {
        this.goodPicture = goodPicture;
    }

    public String getGoodPicture() 
    {
        return goodPicture;
    }

    public void setGoodName(String goodName) 
    {
        this.goodName = goodName;
    }

    public String getGoodName() 
    {
        return goodName;
    }

    public void setGoodClassify(String goodClassify) 
    {
        this.goodClassify = goodClassify;
    }

    public String getGoodClassify() 
    {
        return goodClassify;
    }

    public String getGoodDesc() {
        return goodDesc;
    }

    public void setGoodDesc(String goodDesc) {
        this.goodDesc = goodDesc;
    }

    public void setGsortId(Long gsortId)
    {
        this.gsortId = gsortId;
    }

    public Long getGsortId() 
    {
        return gsortId;
    }

    public void setGoodOriginalPrice(BigDecimal goodOriginalPrice) 
    {
        this.goodOriginalPrice = goodOriginalPrice;
    }

    public BigDecimal getGoodOriginalPrice() 
    {
        return goodOriginalPrice;
    }

    public void setGoodMemberPrice(BigDecimal goodMemberPrice) 
    {
        this.goodMemberPrice = goodMemberPrice;
    }

    public BigDecimal getGoodMemberPrice() 
    {
        return goodMemberPrice;
    }

    public void setGoodIntegral(String goodIntegral) 
    {
        this.goodIntegral = goodIntegral;
    }

    public String getGoodIntegral() 
    {
        return goodIntegral;
    }

    public void setGoodCommissionRate(String goodCommissionRate) 
    {
        this.goodCommissionRate = goodCommissionRate;
    }

    public String getGoodCommissionRate() 
    {
        return goodCommissionRate;
    }

    public void setGoodStock(String goodStock) 
    {
        this.goodStock = goodStock;
    }

    public String getGoodStock() 
    {
        return goodStock;
    }

    public void setGoodStatus(Long goodStatus) 
    {
        this.goodStatus = goodStatus;
    }

    public Long getGoodStatus() 
    {
        return goodStatus;
    }

    public String getGoodCreateTime() {
        return goodCreateTime;
    }

    public void setGoodCreateTime(String goodCreateTime) {
        this.goodCreateTime = goodCreateTime;
    }

    public String getGoodUpdateTime() {
        return goodUpdateTime;
    }

    public void setGoodUpdateTime(String goodUpdateTime) {
        this.goodUpdateTime = goodUpdateTime;
    }

    public void setDemo1(String demo1)
    {
        this.demo1 = demo1;
    }

    public String getDemo1() 
    {
        return demo1;
    }

    public void setDemo2(String demo2) 
    {
        this.demo2 = demo2;
    }

    public String getDemo2() 
    {
        return demo2;
    }

    public void setDemo3(String demo3) 
    {
        this.demo3 = demo3;
    }

    public String getDemo3() 
    {
        return demo3;
    }

    public void setCampusId(Long campusId) 
    {
        this.campusId = campusId;
    }

    public Long getCampusId() 
    {
        return campusId;
    }

    public void setIsDistribution(Long isDistribution) 
    {
        this.isDistribution = isDistribution;
    }

    public Long getIsDistribution() 
    {
        return isDistribution;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setGoodOrder(Long goodOrder)
    {
        this.goodOrder = goodOrder;
    }

    public Long getGoodOrder()
    {
        return goodOrder;
    }

    public GoodSort getGoodSort() { return goodSort; }
    public void setGoodSort(GoodSort goodSort) { this.goodSort = goodSort; }


    public String getGsortName() { return gsortName; }
    public void setGsortName(String gsortName) { this.gsortName = gsortName; }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("goodId", getGoodId())
            .append("goodPicture", getGoodPicture())
            .append("goodName", getGoodName())
            .append("goodClassify", getGoodClassify())
            .append("goodDesc", getGoodDesc())
            .append("gsortId", getGsortId())
            .append("goodOriginalPrice", getGoodOriginalPrice())
            .append("goodMemberPrice", getGoodMemberPrice())
            .append("goodIntegral", getGoodIntegral())
            .append("goodCommissionRate", getGoodCommissionRate())
            .append("goodStock", getGoodStock())
            .append("goodStatus", getGoodStatus())
            .append("goodCreateTime", getGoodCreateTime())
            .append("goodUpdateTime", getGoodUpdateTime())
            .append("demo1", getDemo1())
            .append("demo2", getDemo2())
            .append("demo3", getDemo3())
            .append("campusId", getCampusId())
            .append("isDistribution", getIsDistribution())
            .append("orderId", getOrderId())
            .append("goodOrder", getGoodOrder())
            .append("gsortId", getGsortId())
            .append("gsortName", getGsortName())
            .toString();
    }
}
